package com.xyd.mapper;

import com.xyd.entity.Cart;
import java.util.List;
import org.apache.ibatis.annotations.Param;

/**
 * 类描述：
 *
 * @author 张吉哲
 * @date 2021/1/14 18:43
 */
public interface CartMapper {

  /**
   * 向购物车添加商品信息
   *
   * @param epId     商品id
   * @param euUserId 用户id
   * @return 是否成功
   */
  boolean addProduct(@Param("epId") Long epId, @Param("euUserId") String euUserId);

  /**
   * 再次向购物车添加同一商品时
   *
   * @param epId     商品id
   * @param euUserId 用户id
   * @return 是否成功
   */
  boolean updateOneProduct(@Param("epId") Long epId, @Param("euUserId") String euUserId);

  /**
   * 修改购物车中商品数量
   *
   * @param euUserId 用户id
   * @param epId     商品id
   * @param newNum   商品数量
   * @return 是否成功
   */
  boolean changeNum(@Param("euUserId") String euUserId, @Param("epId") String epId,
      @Param("newNum") String newNum);

  /**
   * 查询用户的购物车中的商品信息
   *
   * @param euUserId 用户id
   * @return 商品信息
   */
  List<Cart> findAllMyCart(String euUserId);

  /**
   * 清空购物车时修改购物车内商品标识
   * @param euUserId 用户id
   * @return 是否成功
   */
  boolean updateStatus(String euUserId);
}
